$(document).ready(init_cuenta)

/*funcion que se ejecuta cuando carga de la pagina*/
function init_cuenta(){
    //cargar_cuenta();
    $("#nuevaCuentaBtn").button({
        icons: {
            primary: 'ui-icon-plusthick'
        }
    });

    $("#buscarBtn").button({
        icons: {
            primary: 'ui-icon-search'
        },
        text: false
    });

    $("#clearBtn").button({
        icons: {
            primary: 'ui-icon-arrowthick-1-w'
        },
        text: false
    });

    $("#ripsBtn").button({
        icons: {
            primary: 'ui-icon-note'
        }                        
    });

    $("#ayudaBtn").button({
        icons: {
            primary: 'ui-icon-help'
        },
        text: false
    });
    
    $("#idsede").load("/salus/AdministrarServlet", {
        op:"-43"
    });
   
    $("#identidad").load("/salus/AdministrarServlet", {
        op:"-11"
    });
    
    
    $("#identidad").change(function(){
        //var idContrato=0;
        $("#idcps").load("/salus/AdministrarServlet", {
            entidad:$("#identidad").val(),
            op:"-63"           
        });
    });
    
   
    $("#nuevaCuentaBtn").click(function(){
        mostrar_campos({
            id:"",
            numero:"",
            identidad:"",
            fecini:"",
            fecfin:"",
            genrips:"",
            op:"nuevo"
        });

        formularioCuenta();
    })

    $("#formCuenta").validate({
        rules:{            
            numero:{
                required:true
            },
            identidad:{
                required:true
            },
            fecini:{
                required:true
            },
            fecfin:{
                required:true
            }
        }
    })

    $("#buscarBtn").click(buscar_cuenta);
    
    $("#clearBtn").click(limpiarBusqueda);
    
    $("#ripsBtn").click(generarRips);

    $.datepicker.setDefaults( $.datepicker.regional[ "es" ] );
    $("#fecini").datepicker({
        changeMonth: true,
        changeYear: true
    });
    $('#fecini').dateEntry({
        dateFormat: 'dmy/'
    });

    $("#fecfin").datepicker({
        changeMonth: true,
        changeYear: true
    });
    $('#fecfin').dateEntry({
        dateFormat: 'dmy/'
    });

    $("#fecgen").datepicker({
        changeMonth: true,
        changeYear: true
    });

    var myDate = new Date();
    var month = myDate.getMonth() + 1;
    var prettyDate = myDate.getDate()+'/'+month+ '/' + myDate.getFullYear();
    $("#fecgen").val(prettyDate);

    $('#fecgen').dateEntry({
        dateFormat: 'dmy/'
    });

    $("#genrips").val(0);
    
    /*AYUDA*/
    $('#ayudaBtn').qtip({
        content: '<b style="color:red">*</b> Para editar una cuenta de cobro, haga doble click sobre el registro seleccionado<br /><b style="color:red">*</b> Para buscar un registro utilice los campos del pie de cada columna',
        show: 'mouseover',
        hide: 'mouseout',
        style: {
            name: 'cream', 
            border: {
                width: 3,
                radius: 8                                         
            },
            width: 200,
            tip: { // Now an object instead of a string
                corner: 'topRight', // We declare our corner within the object using the corner sub-option
                color: 'orange',
                size: {
                    x: 20, // Be careful that the x and y values refer to coordinates on screen, not height or width.
                    y : 8 // Depending on which corner your tooltip is at, x and y could mean either height or width!
                }
            }
        },
        position: {
            corner: {
                target: 'bottomLeft',
                tooltip: 'topRight'
            },
            container: $('div.tooltips')                          
        }
    })
}

/*Muestra el dialogo para capturar los datos de la tabla*/
function formularioCuenta(){
    $("#cuenta-form").dialog({
        height: 450,
        width: 550,
        modal: true,
        title:"Cuenta",
        buttons:{
            "Cancelar":function(){
                $(this).dialog("close")
            },
            "Guardar":guardar_cuenta
        }
    });
}

/*Guarda los datos de la tabla*/
function guardar_cuenta(){
    
    if ($("#formCuenta").valid()){
        var form = $("#formCuenta");
        var op=$("#op").val()+"_cuenta";

        var formLocal={
            id:$("#id").val(),            
            descripcion:$("#identidad").text()
        };
        $.ajax({
            type:'POST',
            url:'/salus/AdministrarSetServlet',
            data:form.serialize()+"&op="+op,
            success:function(data) {
                var resp = data.split("_");
                if(resp[0] == "editar" ){                
                    edit_cuenta(formLocal)
                    $("#cuenta-form").dialog("close")
                }else {                
                    add_cuenta(formLocal)
                    $("#tblgen").show();
                //$("#cuenta-form").dialog("close")
                }
            }
        });
    }
}

/*Actualiza los datos en la grilla, despues de actualizar los datos*/
function edit_cuenta(cuenta){
    $("#cuenta-"+cuenta.id+"-entidad").text(cuenta.entidad)
    $("#cuenta-"+cuenta.id+"-numero").text(cuenta.numero)
}

/*Crea dinamicamente la grilla, dependiendo de la respuesta de la base de datos in(json)*/
function add_cuenta(cuenta){
    var tbody=$("#tabla-cuenta-body")
    var tr=$("<tr/>").attr("id","cuenta-"+cuenta.id).appendTo(tbody);
    $("<td/>").appendTo(tr).append(cuenta.numero).attr("id","cuenta-"+cuenta.id+"-numero");
    $("<td/>").appendTo(tr).append(cuenta.entidad).attr("id","cuenta-"+cuenta.id+"-entidad");
    var aBorrar=$("<a/>").text("Anular").addClass("borrar").attr("href","#").click(function(){
        if (confirm("¿Desea borrar este asignatura?")){
            $.post("set_data.php",{
                op:"borrar_asignatura",
                id:cuenta.id
            },function(data){
                var resp=JSON.parse(data);
                if (resp.estado=="OK"){
                    $("#cuenta-"+cuenta.id).remove();
                }
            }
            )
        }
        return false;
    })
    var aEditar=$("<a/>").text("Editar").addClass("editar").attr("href","#").click(function(){
        $.getJSON("/salus/AdministrarEditServlet", {
            op:"11",
            id:cuenta.id
        }, function(data){            
            data.op="editar";
            mostrar_campos(data);
            formularioCuenta();
        })
        return false;
    })
    $("<td/>").append(aEditar).append(aBorrar).appendTo(tr)
}


function editar(id){
    $.getJSON("/salus/AdministrarEditServlet", {
        op:"11",
        id:id
    }, function(data){            
        data.op="editar";
        mostrar_campos(data);
        formularioCuenta();
    })

}

/*Llena el formulario de edicion con los datos retornados via json*/
function mostrar_campos(cuenta){
    $("#op").val(cuenta.op)
    $("#id").val(cuenta.id)
    $("#numero").val(cuenta.numero)
    $("#identidad").val(cuenta.entidad)
    $("#fecini").val(cuenta.fecini)
    $("#fecfin").val(cuenta.fecfin)
    $("#genrips").val(cuenta.genrips)
    $("label.error").remove()
}


/*Trae los datos de la base de datos en un objeto json*/
function cargar_cuenta(){
    $.getJSON("/salus/AdministrarServlet", {
        op:"10",
        cod:$("#buscarCod").val(),
        des:$("#buscarDes").val()        
    }, function(data){
        $.each(data, function(i,item){
            add_cuenta(item)
        })
        $("#tabla-cuenta").addClass("tablesorter").tablesorter({
            widthFixed: true,
            widgets: ['zebra']
        }).tablesorterPager({
            container: $("#pager")
        })
    })
}


/*gestiona la busqueda de datos en la grilla, por codigo y descripcion*/
function buscar_cuenta(){

    if($("#buscarCod").val()==""&&$("#buscarDes").val()==""){
        alert('Debe digitar un dato de busqueda')
    }else{
        $("#tabla-cuenta-body tr").remove();
        $("#tabla-cuenta colgroup").remove();
        $.getJSON("/salus/AdministrarServlet", {
            op:"10",
            cod:$("#buscarCod").val(),
            des:$("#buscarDes").val()        
        }, function(data){
            $.each(eval(data), function(i,item){
                add_cuenta(item)
            })
            $("#tabla-cuenta").addClass("tablesorter").tablesorter({
                widthFixed: true,
                widgets: ['zebra']
            }).tablesorterPager({
                container: $("#pager")
            })
        })

    }
}


/*clarea los datos del formulario de busqueda*/
function limpiarBusqueda(){
    $("#buscarCod").val("");
    $("#buscarDes").val("");
}

/*funcion para generar los archivos planos de rips*/
function generarRips(){

    var fecini=$("#fecini").val();
    var fecfin=$("#fecfin").val();
    var identidad=$("#identidad").val();
    var desentidad=$('#identidad :selected').text()
    var cc = $("#numero").val();
    var fecgen = $("#fecgen").val()
    
    var idsede = $("#idsede").val();
    var idcps  = $("#idcps").val();
    var idfactura = $("#idfactura").val();
    
    pop('/salus/GenerarRips?idsede='+idsede+'&identidad='+identidad+'&idcps='+idcps+'&idfactura='+idfactura+'&fecini='+fecini+'&fecfin='+fecfin+'&cc='+cc+'&desentidad='+desentidad+'&fecgen='+fecgen,'Rips','top=0 ,left=0 ,width=400, height=300, scrollbars=yes, menubar=no, location=no, resizable=no');
}

function pop(pagina,ventana,parametros){
    window.open(pagina,ventana,parametros);
}